package com.ybkj.daijia.server.mapper;

import com.ybkj.daijia.server.model.NoticeXDriver;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface NoticeXDriverMapper {

    /**
     * 保存通知信息到数据库
     *
     * @param record
     * @return 保存成功返回Id信息
     */
    Long insertRecord(NoticeXDriver record);

    /**
     * 根据主键查询通知信息
     *
     * @param id
     * @return
     */
    NoticeXDriver selectByPrimaryKey(Long id);

    NoticeXDriver selectByDriverAndNotice(@Param("driverId") Long driverId,
        @Param("noticeId") Long noticeId);

    /**
     * 根据一组主键查询通知信息
     *
     * @param ids
     * @return
     */
    List<NoticeXDriver> selectByIdIn(Long[] ids);

    /**
     * 根据主键删除通知信息
     *
     * @param id
     * @return 返回影响的行数
     */
    int deleteByPrimaryKey(Long id);

    int deleteByNotice(Long noticeId);

    List<NoticeXDriver> selectByDriver(@Param("driverId") Long driverId,
        @Param("offset") Integer offset, @Param("size") Integer size);

    long countByDriver(@Param("driverId") Long driverId);

    void updateHasRead(Long id);

    long countNotRead(@Param("driverId") Long driverId);

    void readAllNotice(@Param("driverId") Long driverId);


}
